home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Amiga Format CD 52
/
Amiga Format AFCD52 (Issue 136, May 2000).iso
/
-serious-
/
programming
/
basic
/
mildred
/
lha
/
mildredtests.lha
/
MildredStructs.ascii
next >
Wrap
Text File
|
1999-03-07
|
4KB
|
67 lines
#c2pWindowStructSize=4 ; LSL for 16 bytes
#ChunkyResourceStructSize=6 ; LSL for 64 bytes
#ChunkyQueueStructSize=4 ; LSL for 16 bytes
#ChunkyQueueListStructSize=4 ; LSL for 16 bytes
#ChunkyTableStructSize=4 ; LSL for 16 bytes
;c2pWindow structure, 16 bytes
c2p0_Pixels: Dc.w 0 ;0 Number of pixels per row
c2p0_RowsStore: Dc.w 0 ;2 Row counter
c2p0LaceOffsetA:Dc.w 0 ;4 Interlace bytes to add to source pointer in odd frames
c2p0LaceOffsetB:Dc.w 0 ;6 Interlace bytes to add to dest pointer in odd frames
c2p0_Pmod: Dc.w 0 ;8 Planar line modulo
c2p0_Cmod: Dc.w 0 ;10 Chunky line modulo
c2p0Lace: Dc.b 0 ;12 Same as Row-Lacing yes/no. Tells if rowlace was on when object was created
c2p0Pad0: Dc.b 0 ;13
c2p0Pad1: Dc.w 0 ;14
;ChunkyResource structure, 64 bytes (bitmaps and shapes)
CRsrc_Width: Dc.w 0 ;0 Width of the chunky resource in pixels (=bytes)
CRsrc_Height: Dc.w 0 ;2 Height of the chunky resource in pixels (=lines) Must be positioned directly after Width
CRsrc_LineMod: Dc.w 0 ;4 Horizontal line modulo - bytes to add at end of line to get to start of next line (usually zero)
CRsrc_Clipping: Dc.b 0 ;6 Clip window active/deactive. 0=Off, <>0=On
CRsrc_Wrapping: Dc.b 0 ;7 X&Y Handle-wrapping active/deactive. 0=Normal, <>0=MemoryWrap (add WrapBytes to base address)
CRsrc_Data: Dc.l 0 ;8 Pointer to move16-aligned memory containing resource's graphic
CRsrc_Stencil: Dc.l 0 ;12 Pointer to move16-aligned memory containing resource's stencil/mask/cookie
CRsrc_XHandle: Dc.w 0 ;16 X-Handle coordinate horizontal offset
CRsrc_YHandle: Dc.w 0 ;18 Y-Handle coordinate verticle offset
CRsrc_DMem: Dc.l 0 ;20 Actual base pointer of memory reserved for data (before move16-alignment)
CRsrc_DBytes: Dc.l 0 ;24 Total number of bytes in the resource's graphic mem (before align)
CRsrc_SMem: Dc.l 0 ;28 Actual base pointer of memory reserved for stencil (before move16-alignment)
CRsrc_SBytes: Dc.l 0 ;32 Total number of bytes in the resource's stencil/mask/cookie (before align)
CRsrc_DHere: Dc.b 0 ;36 Graphic data here. 0=Cludged, <>0=CRsrc_DMem is base address
CRsrc_SHere: Dc.b 0 ;37 Stencil data here. 0=Cludged, <>0=CRsrc_SMem is base address
CRsrc_ClipLMod: Dc.w 0 ;38 Clip window horizontal line modulo in bytes compared with bitmap width (additional to LineMod)
CRsrc_ClipLeft: Dc.w 0 ;40 Clip window's left-edge X coordinate offset
CRsrc_ClipTop: Dc.w 0 ;42 Clip window's top-edge Y coordinate offset
CRsrc_ClipWidth:Dc.w 0 ;44 Clip window's width in pixels
CRsrc_ClipHight:Dc.w 0 ;46 Clip window's height in pixels
CRsrc_ClipBytes:Dc.l 0 ;48 Clip window bytes to add to addresses to find topleft corner of clip window
CRsrc_WrapBytes:Dc.l 0 ;52 Handle bytes to add to base addresses to find topleft XHandle,Yhandle offset
CRsrc_TotWidth: Dc.w 0 ;56 Width+LineMod, for faster reading of total byte width
CRsrc_Pad1: Dc.w 0 ;58
CRsrc_Pad2: Dc.l 0 ;60
;ChunkyQueue structure, 16 bytes
CQueue_LMem: Dc.l 0 ;0 Pointer to memory used to store the list. 0=Queue doesn't exist
CQueue_LBytes: Dc.l 0 ;4 Bytes of mem reserved
CQueue_MaxItems:Dc.w 0 ;8 Maximum number of items in the queue
CQueue_Items: Dc.w 0 ;10 Actual number of items in the queue
CQueue_ItemAddr:Dc.l 0 ;12 Memory address of the current item
;ChunkyQueueListItem structure, 16 bytes
CQList_DestAddr:Dc.l 0 ;0 Address of top-left corner of destination
CQList_OpWidth: Dc.w 0 ;4 Width of the operation in pixels or bytes
CQList_OpHeight:Dc.w 0 ;6 Height of the operation in pixels, lines or rows
CQList_DestLMod:Dc.l 0 ;8 Destination linemodulo to support object width
CQList_XYBytes: Dc.l 0 ;12 Bytes needed to be added to base address to point to coordinates, not including wrapped origin
;ChunkyTable structure, 16 bytes
ChunkyTables
CTable_LMem: Dc.l 0 ;0 Pointer to memory used to store the list. 0=Table doesn't exist
CTable_LBytes: Dc.l 0 ;4 Bytes of mem reserved.Also maximum number of items
CTable_Items: Dc.l 0 ;8 Actual number of items in the table
CTable_ItemAddr:Dc.l 0 ;12 Memory address of the current item